package com.star.common.base;

/**
 * 基础枚举 字典
 *
 * @author yangzj
 */
public interface BaseEnum<T> {

    /**
     * 获取编码
     *
     * @return {@link T}
     */
    T getCode();

    /**
     * 获取名称
     *
     * @return {@link String}
     */
    String getName();

    /**
     * 拓展字段
     *
     * @return {@link String}
     */
    default String getExpand() {
        return null;
    }

    /**
     * 获取类型代码
     *
     * @return {@link String}
     */
    String getTypeCode();

    /**
     * 获取类型名称
     *
     * @return {@link String}
     */
    String getTypeName();
}
